import pandas as pd
import os
import glob
import re
import warnings
import shutil
from program.pack.append_df_to_excel import append_df_to_excel

warnings.filterwarnings("ignore")

# 列显示不全，进行设置
pd.set_option('display.max_columns', 500)
pd.set_option('display.unicode.ambiguous_as_wide', True)
pd.set_option('display.unicode.east_asian_width', True)
pd.set_option('display.width', 180)  # 设置打印宽度(**重要**)

# 批量复制文件，并对应重命名（存放至原文件夹中）

def mkdir(path):
    # 去除首位空格
    path = path.strip()

    # 去除尾部 \ 符号
    path = path.rstrip("\\")

    # 判断路径是否存在
    # 存在     True
    # 不存在   False
    isExists = os.path.exists(path)

    # 判断结果
    if not isExists:
        # 如果不存在则创建目录
        # 创建目录操作函数
        os.makedirs(path)
        print(path + ' 创建成功')
        return True
    else:
        # 如果目录存在则不创建，并提示目录已存在
        print(path + ' 目录已存在')
        return False


def mycopyfile(srcfile, dstfile):
    if not os.path.isfile(srcfile):
        print
        "%s not exist!" % (srcfile)
    else:
        fpath, fname = os.path.split(dstfile)  # 分离文件名和路径
        if not os.path.exists(fpath):
            os.makedirs(fpath)  # 创建路径
        shutil.copyfile(srcfile, dstfile)  # 复制文件
        print
        "copy %s -> %s" % (srcfile, dstfile)


# 数据源文件夹
path_0 = r'W:\wangshuan\minhang\TAI40-I\test_mh_1115'

# 数据特征  用来初步筛选特征数据
file_name_0 = ".xlsx"

dfs = pd.DataFrame()
# os.walk(file_path) 深度遍历file_path下的所有子文件夹及文件
for root_dir, sub_dir, files in os.walk(path_0):
    for file in files:
        # 进行条件筛选   以非~$'开头(解决读取文档已打开问题)；选择以file_name_0结尾的文档
        if (file.startswith('~$') is False) and file.endswith(file_name_0):
            # 构造文件的绝对路径 = 文件夹路径 + 文件名
            file_name = os.path.join(root_dir, file)
            print(file_name)
            if (file_name.startswith('~$') is False) and (file_name.lower().endswith('data.xlsx') is False) and \
                    (file_name.endswith('_0.6.xlsx') is False) and (file_name.endswith('_0.7.xlsx') is False) and\
                    (file_name.endswith('_0.8.xlsx') is False) and (file_name.endswith('_0.8_pre.xlsx') is False):
                try:
                    path_1 = file_name.strip('.xlsx') + '_1.196_0.85.xlsx'
                    mycopyfile(file_name, path_1)
                    # mycopyfile(file_name, path_2)
                    print(file_name)
                    # print(path_1, '输出成功')
                    # print(path_2, '输出成功')
                except Exception as e:
                    print(file, e)
